// 根据角色动态生成路由
import { MockMethod } from 'vite-plugin-mock'

const permissionRouter = {
    path: '/permission',
    redirect: '/permission/page/index',
    meta: {
        title: 'menus.permission',
        icon: 'lollipop',
        i18n: true,
        rank: 7
    },
    children: [
        {
            path: '/permission/page/index',
            name: 'permissionPage',
            meta: {
                title: 'menus.permissionPage',
                i18n: true
            }
        },
        {
            path: '/permission/button/index',
            name: 'permissionButton',
            meta: {
                title: 'menus.permissionButton',
                i18n: true,
                authority: []
            }
        }
    ]
}

// 添加不同按钮权限到/permission/button页面中
function setDifAuthority(authority, routes) {
    routes.children[1].meta.authority = [authority]
    return routes
}

export default [
    {
        url: '/getAsyncRoutes',
        method: 'get',
        response: ({ query }) => {
            if (query.name === 'admin') {
                return {
                    code: 0,
                    info: [setDifAuthority('v-admin', permissionRouter)]
                }
            } else {
                return {
                    code: 0,
                    info: [setDifAuthority('v-test', permissionRouter)]
                }
            }
        }
    }
] as MockMethod[]
